home *** CD-ROM | disk | FTP | other *** search
/ Oxygen Multimedia Graphics 22 / Oxygen Multimedia Graphics 22.iso / pc / System / OX22 / Internal_47_Sway.ls < prev    next >
Encoding:
Text File  |  2008-03-12  |  1.6 KB  |  54 lines

  1. property mySprite, myAnglePerFrame, myFrameCount, myCounter, myClockwise
  2.  
  3. on getBehaviorDescription me
  4.   return "SWAY" & RETURN & RETURN & "Rotates a sprite first one way then the other by a given angle per frame." & RETURN & RETURN & "PERMITTED MEMBER TYPES:" & RETURN & "bitmap, Flash, text, vector shape" & RETURN & RETURN & "PARAMETERS:" & RETURN & "* Number of degrees to rotate in each frame" & RETURN & "* Number of frames to move in each direction"
  5. end
  6.  
  7. on getBehaviorTooltip me
  8.   return "Use with bitmap, Flash, text and vector shape members." & RETURN & RETURN & "Rotates a sprite first one way then the other by a given angle per frame."
  9. end
  10.  
  11. on beginSprite me
  12.   Initialize(me)
  13. end
  14.  
  15. on prepareFrame me
  16.   if not myCounter then
  17.     ChangeDirection(me)
  18.   end if
  19.   Turn(me)
  20. end
  21.  
  22. on Initialize me
  23.   mySprite = sprite(me.spriteNum)
  24.   myCounter = myFrameCount
  25. end
  26.  
  27. on Turn me
  28.   myCounter = myCounter - 1
  29.   if myClockwise then
  30.     newAngle = mySprite.rotation + myAnglePerFrame
  31.   else
  32.     newAngle = mySprite.rotation - myAnglePerFrame
  33.   end if
  34.   mySprite.rotation = newAngle
  35. end
  36.  
  37. on ChangeDirection me
  38.   myClockwise = not myClockwise
  39.   myCounter = myFrameCount
  40. end
  41.  
  42. on isOKToAttach me, aSpriteType, aSpriteNum
  43.   case aSpriteType of
  44.     #graphic:
  45.       return getPos([#bitmap, #flash, #text, #vectorShape], sprite(aSpriteNum).member.type) <> 0
  46.     #script:
  47.       return 0
  48.   end case
  49. end
  50.  
  51. on getPropertyDescriptionList me
  52.   return [#myAnglePerFrame: [#comment: "Angle to rotate in each frame", #format: #float, #range: [#min: 0, #max: 180], #default: 10], #myFrameCount: [#comment: "Number of frames to move in each direction", #format: #integer, #default: 10]]
  53. end
  54.